using System;
using System.Collections.Generic;
using System.Text;

namespace PandoraCommon
{
    /// <summary>
    /// <para>Interface to be implemented by all the log writer plug-ins for the GPS Pandora software.</para>
    /// <para>Contains the necessary functionality in order to generate an output from a set of GPS positions.</para>
    /// </summary>
    public interface ILogWriter
    {
        /// <summary>
        /// Name of the log writer plug-in.
        /// </summary>
        string Name { get;}

        /// <summary>
        /// Description for the log writer plug-in.
        /// </summary>
        string Description { get;}

        /// <summary>
        /// Author of this log writer plug-in.
        /// </summary>
        string Author { get;}

        /// <summary>
        /// Outputs the GPS from the active list of <see cref="T:GpsPosition"/>.
        /// </summary>
        /// <returns>A list of <see cref="T:GpsPosition"/></returns>
        void WriteLog(List<GpsPosition> gpsPositions);
    }
}
